if __name__ == "__main__":
    # 测试基本数据类型
    # numbes类型
    a,b,c,d = 3,3.4,True,4+3j
    # 分别打印数据类型
    print(type(a), type(b), type(c), type(d))
    # 使用isInstance判断是否是同一种数据类型
    print('使用isInstance进行判断结果为:', isinstance(a,int))
    # type和isinstance之间的区别在于 isinstance会认为子类也是一种父类
    # 使用del 删除引用对象
    x = 10
    print(x)
    # 删除x
    del x
    # print(x)
    # 除法 会将整数转化为浮点数
    print(3/2)
    # 使用//则只会返回一个整数
    print(3//2)
    # string 类型的字符串
    s = "you doesn\'t love me"
    print(s)
    # 使用r 不参与转义效果
    s = r'you are so\ne'
    print(s)
    s = 'you are soe'
    print(s)
    print(s[0:])
    print(s[0],s[1],s[2])
    print("s的负数切片为:",s[-2:-1])
    # 定义列表
    a = ['him','test',4,5,6,True]
    print(type(a))
    # 列表类型可以累加
    a = a+[5,6,7,8,9]
    print(a)
    # 列表同样有索引和切片
    print(a[3:5])
    print(a[2])
    # list中的元素是可以被修改的
    a[0] = 0
    print(a)
    # 删除切片
    # del a[0]
    # 重新打印
    print(a)
    # 元组部分 元组与列表类似 区别在于元组中的元素不能被修改 使用小括号进行划分
    t = ("dsda", 1234, a)
    #  del t[0]
    print(t)
    # 元组同样可以进行拼接
    t = t + ("nice", 323)
    print("t的类型为:",type(t))
    print(t)
    # 试图修改元组中的数据
    # t[0] = 0
    # print(t)
    # set内部没有重复元素
    s = {1,2,3,"dsd","dsd"}
    print(s)
    # 使用构造器创建set
    s1 = set("dsdajksdjakda")
    print(s1)
    # 创建空set
    s2 = set()
    print(s2)
    # 创建一个空字典
    d1 = {}
    print("d1",d1)
    # 创建新的字典
    d2 = dict([("jack",49),("json",48),("jim",47)])
    print(d2)
    # 另一种方式创建
    t1 = ("sdas",12)
    d3 = {t1:49,"tom":48,"jim":47}
    print(d3)
    # 需要注意的是 dict的key要求是不可变类型 比如 string number and tuple
    d4 = {t1: 49, "tom": 48, "tom": 47}
    # 删除一个元素
    del d4["tom"]
    # 添加一个新的元素
    d4["key"] = 3
    print(d4)
    l4 = list(d4.keys())
    # 通过 dict创建list
    # l5 = sorted(d4.keys())
    print(l4)
    # print(l5)
    print(t1 in d4)
    d4[t1] = "haha"
    print(d4)